{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Pipeline for the anomaly detection on the SKAB using LSTM-Autoencoder"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# libraries importing\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "# additional modules\n",
    "import sys\n",
    "sys.path.append('../utils')\n",
    "from evaluating import evaluating_change_point"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data loading"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# benchmark files checking\n",
    "all_files=[]\n",
    "import os\n",
    "for root, dirs, files in os.walk(\"../data/\"):\n",
    "    for file in files:\n",
    "        if file.endswith(\".csv\"):\n",
    "             all_files.append(os.path.join(root, file))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# datasets with anomalies loading\n",
    "list_of_df = [pd.read_csv(file, \n",
    "                          sep=';', \n",
    "                          index_col='datetime', \n",
    "                          parse_dates=True) for file in all_files if 'anomaly-free' not in file]\n",
    "# anomaly-free df loading\n",
    "anomaly_free_df = pd.read_csv([file for file in all_files if 'anomaly-free' in file][0], \n",
    "                            sep=';', \n",
    "                            index_col='datetime', \n",
    "                            parse_dates=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data description and visualization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "A number of datasets in the SkAB v1.0: 34\n",
      "\n",
      "Shape of the random dataset: (1154, 10)\n",
      "\n",
      "A number of changepoints in the SkAB v1.0: 130\n",
      "\n",
      "A number of outliers in the SkAB v1.0: 13241\n",
      "\n",
      "Head of the random dataset:\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Accelerometer1RMS</th>\n",
       "      <th>Accelerometer2RMS</th>\n",
       "      <th>Current</th>\n",
       "      <th>Pressure</th>\n",
       "      <th>Temperature</th>\n",
       "      <th>Thermocouple</th>\n",
       "      <th>Voltage</th>\n",
       "      <th>Volume Flow RateRMS</th>\n",
       "      <th>anomaly</th>\n",
       "      <th>changepoint</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>datetime</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2020-03-09 12:14:36</th>\n",
       "      <td>0.027429</td>\n",
       "      <td>0.040353</td>\n",
       "      <td>0.770310</td>\n",
       "      <td>0.382638</td>\n",
       "      <td>71.2129</td>\n",
       "      <td>25.0827</td>\n",
       "      <td>219.789</td>\n",
       "      <td>32.0000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-09 12:14:37</th>\n",
       "      <td>0.027269</td>\n",
       "      <td>0.040226</td>\n",
       "      <td>1.096960</td>\n",
       "      <td>0.710565</td>\n",
       "      <td>71.4284</td>\n",
       "      <td>25.0863</td>\n",
       "      <td>233.117</td>\n",
       "      <td>32.0104</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-09 12:14:38</th>\n",
       "      <td>0.027040</td>\n",
       "      <td>0.039773</td>\n",
       "      <td>1.140150</td>\n",
       "      <td>0.054711</td>\n",
       "      <td>71.3468</td>\n",
       "      <td>25.0874</td>\n",
       "      <td>234.745</td>\n",
       "      <td>32.0000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-09 12:14:39</th>\n",
       "      <td>0.027563</td>\n",
       "      <td>0.040313</td>\n",
       "      <td>1.108680</td>\n",
       "      <td>-0.273216</td>\n",
       "      <td>71.3258</td>\n",
       "      <td>25.0897</td>\n",
       "      <td>205.254</td>\n",
       "      <td>32.0104</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-03-09 12:14:41</th>\n",
       "      <td>0.026570</td>\n",
       "      <td>0.039566</td>\n",
       "      <td>0.704404</td>\n",
       "      <td>0.382638</td>\n",
       "      <td>71.2725</td>\n",
       "      <td>25.0831</td>\n",
       "      <td>212.095</td>\n",
       "      <td>33.0000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     Accelerometer1RMS  Accelerometer2RMS   Current  Pressure  \\\n",
       "datetime                                                                        \n",
       "2020-03-09 12:14:36           0.027429           0.040353  0.770310  0.382638   \n",
       "2020-03-09 12:14:37           0.027269           0.040226  1.096960  0.710565   \n",
       "2020-03-09 12:14:38           0.027040           0.039773  1.140150  0.054711   \n",
       "2020-03-09 12:14:39           0.027563           0.040313  1.108680 -0.273216   \n",
       "2020-03-09 12:14:41           0.026570           0.039566  0.704404  0.382638   \n",
       "\n",
       "                     Temperature  Thermocouple  Voltage  Volume Flow RateRMS  \\\n",
       "datetime                                                                       \n",
       "2020-03-09 12:14:36      71.2129       25.0827  219.789              32.0000   \n",
       "2020-03-09 12:14:37      71.4284       25.0863  233.117              32.0104   \n",
       "2020-03-09 12:14:38      71.3468       25.0874  234.745              32.0000   \n",
       "2020-03-09 12:14:39      71.3258       25.0897  205.254              32.0104   \n",
       "2020-03-09 12:14:41      71.2725       25.0831  212.095              33.0000   \n",
       "\n",
       "                     anomaly  changepoint  \n",
       "datetime                                   \n",
       "2020-03-09 12:14:36      0.0          0.0  \n",
       "2020-03-09 12:14:37      0.0          0.0  \n",
       "2020-03-09 12:14:38      0.0          0.0  \n",
       "2020-03-09 12:14:39      0.0          0.0  \n",
       "2020-03-09 12:14:41      0.0          0.0  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# dataset characteristics printing\n",
    "print(f'A number of datasets in the SkAB v1.0: {len(list_of_df)}\\n')\n",
    "print(f'Shape of the random dataset: {list_of_df[0].shape}\\n')\n",
    "n_cp = sum([len(df[df.changepoint==1.]) for df in list_of_df])\n",
    "n_outlier = sum([len(df[df.anomaly==1.]) for df in list_of_df])\n",
    "print(f'A number of changepoints in the SkAB v1.0: {n_cp}\\n')\n",
    "print(f'A number of outliers in the SkAB v1.0: {n_outlier}\\n')\n",
    "print(f'Head of the random dataset:')\n",
    "display(list_of_df[0].head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# random dataset visualizing\n",
    "list_of_df[0].plot(figsize=(12,6))\n",
    "plt.xlabel('Time')\n",
    "plt.ylabel('Value')\n",
    "plt.title('Signals')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsIAAADVCAYAAABdXpbTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAjMklEQVR4nO3dfbxVZZnw8d/FAUGFAVOsSUSwMQXkRT0q2ZSkjdqLb5OZ5mOhKWNP2mSNZdlY+TTllE2lNiaOSs34mi9FiqMVkkORgYYoaEqBijKIpKgZCXo9f+wNHQ5vB9h7r7P3+n0/Hz7stfZ99ro4XGfva13nXveKzESSJEkqmx5FByBJkiQVwUJYkiRJpWQhLEmSpFKyEJYkSVIpWQhLkiSplCyEJUmSVEo9izrwTjvtlEOGDCnq8JIkSSqJ++6779nMHNh5f2GF8JAhQ5g1a1ZRh5ckSVJJRMTj69vv1AhJkiSV0iYL4Yi4KiKeiYiHNvB8RMTFETE/IuZExL61D1OSJEmqra50hCcBR2zk+XcBe1T/TAAu2/qwJEmSpPra5BzhzLwnIoZsZMjRwPczM4FfRcSAiPjrzFxcqyAlSZCZvLBiVdFhSC2lT68e9O7ZttWvs3LlShYtWsSKFStqEJW2VJ8+fRg0aBC9evXq0vhaXCy3C/Bkh+1F1X0WwpJUQ/MvPZY9lt3NkBXXNvS4g2Ip03v/I//wytnc+dr+DT22yuG3vT/ML14bwakrP93wYy/s80FW7XUUPU/4z616nUWLFtGvXz+GDBlCRNQoOm2OzGTZsmUsWrSIoUOHdulrGrpqRERMoDJ9gsGDBzfy0JLU9PZYdjcA//ze4Q097pAlP4UH4dxd5nDA6A839Ngqh94/XckhbbP558Mbm9u/eeI5eBR6PjJ5q19rxYoVFsEFiwh23HFHli5d2uWvqUUh/BSwa4ftQdV968jMicBEgPb29qzBsSWpdD7yt13rdNTMvJ3hQRi603aNP7bK4aeVvxqdXzfMbINHa/d6FsHF29z/g1osnzYZ+FB19YixwHLnB0uSpO4usHCth3HjxjXNvSI22RGOiOuAccBOEbEI+ALQCyAzvwtMAd4NzAdeBk6pV7CSJEk1Yx1cepvsCGfmiZn515nZKzMHZeaVmfndahFMVnwsM9+UmSMzszlOASRJUqm1Yh18zDHHsN9++zFixAgmTpwIQN++fTnvvPMYPXo0Y8eOZcmSJQAsXLiQQw45hFGjRnHooYfyxBNPADB+/Hg++tGPMnbsWHbffXemTZvGqaeeyrBhwxg/fvyaY330ox+lvb2dESNG8IUvfGGdWK666io+8YlPrNm+4oorOPvss+v3j98C3llOkiSVUivO6b3qqqu47777mDVrFhdffDHLli3jj3/8I2PHjuWBBx7g7W9/O1dccQUAZ511Fh/+8IeZM2cOJ510Eh//+MfXvM5zzz3HjBkz+OY3v8lRRx3F2Wefzdy5c3nwwQeZPXs2AP/yL//CrFmzmDNnDj//+c+ZM2fOWrEcf/zx/PjHP2blypUAXH311Zx66qmN+UZ0UUNXjZAkSeou6lUGf+nHc5n39As1fc3hb/wrvnDkiE2Ou/jii7n11lsBePLJJ3nsscfYZptteO973wvAfvvtx09+8hMAZsyYwS233ALAySefzKc//Zfl64488kgigpEjR/L617+ekSNHAjBixAgWLlzImDFjuPHGG5k4cSKrVq1i8eLFzJs3j1GjRq15jb59+3LIIYdw2223MWzYMFauXLnmdboLC2FJklRKrdYQnjZtGj/96U+ZMWMG2223HePGjWPFihX06tVrTfe7ra2NVas2fWOe3r17A9CjR481j1dvr1q1igULFnDRRRcxc+ZMdthhB8aPH7/em4mcdtppfOUrX2GvvfbilFO632VkFsKSJKmU6lUId6VzWw/Lly9nhx12YLvttuORRx7hV7/61UbHH3TQQVx//fWcfPLJXHPNNbztbW/r8rFeeOEFtt9+e/r378+SJUu44447GDdu3DrjDjzwQJ588knuv//+daZOdAcWwpIkqZRabfm0I444gu9+97sMGzaMPffck7Fjx250/CWXXMIpp5zC17/+dQYOHMjVV1/d5WONHj2affbZh7322otdd92Vt771rRsce/zxxzN79mx22GGHLr9+o1gIS5KkUmq1qRG9e/fmjjvuWGf/Sy+9tObxcccdx3HHHQfAbrvtxtSpU9cZP2nSpDWPhwwZwkMPPbTe5zo+7mjatGlrbU+fPr3brRaxmqtGSJIkqeaef/553vzmN7Ptttty6KGHFh3OetkRliRJpdSKy6d1JwMGDODRR2t4D+s6sCMsSZJKyTJYFsKSJKmUbAjLQliSJJVSq60aoc1nISxJkkrJjrAshCVJUimVoQ4eP348N910U9FhdNm73/1unn/++Y2OmTRpEk8//XRNjmchLEmSSsmOcPczZcoUBgwYsNExFsKSJElbrfUq4e9///uMGjWK0aNHc/LJJwNwzz33cNBBB7H77ruv6Q6/9NJLHHrooey7776MHDmSH/3oRwAsXLiQYcOGcfrppzNixAgOO+ww/vSnPwEwc+ZMRo0axZgxYzjnnHPYe++9AXj11Vc555xz2H///Rk1ahSXX345ULmxxtvf/nbe8573sOeee3LGGWfw2muvAXDdddcxcuRI9t57bz7zmc+siX/IkCE8++yzG4zjpptuYtasWZx00kmMGTNmTWxbykJYkiSVUqt1hOfOncuXv/xlpk6dygMPPMC3v/1tABYvXsz06dO57bbbOPfccwHo06cPt956K/fffz933303n/rUp8hMAB577DE+9rGPMXfuXAYMGMDNN98MwCmnnMLll1/O7NmzaWtrW3PcK6+8kv79+zNz5kxmzpzJFVdcwYIFCwD49a9/zSWXXMK8efP43e9+xy233MLTTz/NZz7zGaZOncrs2bOZOXMmP/zhD9f596wvjuOOO4729nauueYaZs+ezbbbbrtV3zNvqCFJklRLd5wL//tgbV/zDSPhXRdudMjUqVN5//vfz0477QTA6173OgCOOeYYevTowfDhw1myZAkAmcnnPvc57rnnHnr06MFTTz215rmhQ4cyZswYAPbbbz8WLlzI888/z4svvshb3vIWAD74wQ9y2223AXDXXXcxZ86cNd3m5cuX89hjj7HNNttwwAEHsPvuuwNw4oknMn36dHr16sW4ceMYOHAgACeddBL33HMPxxxzzFr/nvXFUWsWwpIkqZRarCG8Qb17917zeHXX95prrmHp0qXcd9999OrViyFDhrBixYp1xre1tW1y+kFmcskll3D44YevtX/atGnr3L1vc+7mt7lxbIkuFcIRcQTwbaAN+I/MvLDT84OB7wEDqmPOzcwptQ1VkiSpdup2i+VNdG7r5ZBDDuHYY4/lk5/8JDvuuCN/+MMfNjh2+fLl7LzzzvTq1Yu7776bxx9/fKOvPWDAAPr168e9997LgQceyPXXX7/mucMPP5zLLruMQw45hF69evHoo4+yyy67AJWpEQsWLGC33XbjhhtuYMKECRxwwAF8/OMf59lnn2WHHXbguuuu46yz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\n",
      "text/plain": [
       "<Figure size 864x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plotting the labels both for outlier and changepoint detection problems\n",
    "list_of_df[0].anomaly.plot(figsize=(12,3))\n",
    "list_of_df[0].changepoint.plot()\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Method applying"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "# libraries importing\n",
    "import numpy as np\n",
    "from tensorflow import keras\n",
    "from tensorflow.keras import layers\n",
    "from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint, ReduceLROnPlateau\n",
    "from sklearn.metrics import mean_absolute_error, mean_squared_error\n",
    "from sklearn.preprocessing import StandardScaler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Function for repeatability\n",
    "def Random(seed_value):\n",
    "    # 1. Set `PYTHONHASHSEED` environment variable at a fixed value\n",
    "    import os\n",
    "    os.environ['PYTHONHASHSEED']=str(seed_value)\n",
    "\n",
    "    # 2. Set `python` built-in pseudo-random generator at a fixed value\n",
    "    import random\n",
    "    random.seed(seed_value)\n",
    "\n",
    "    # 3. Set `numpy` pseudo-random generator at a fixed value\n",
    "    import numpy as np\n",
    "    np.random.seed(seed_value)\n",
    "\n",
    "    # 4. Set `tensorflow` pseudo-random generator at a fixed value\n",
    "    import tensorflow as tf\n",
    "    tf.random.set_seed(seed_value)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "def arch(data):\n",
    "    EPOCHS = 100\n",
    "    BATCH_SIZE = 32\n",
    "    VAL_SPLIT = 0.1\n",
    "    \n",
    "    Random(0)    \n",
    "    # model defining\n",
    "    # define encoder\n",
    "    inputs = keras.Input(shape=(data.shape[1], data.shape[2]))\n",
    "    encoded = layers.LSTM(100, activation='relu')(inputs)\n",
    "\n",
    "    # define reconstruct decoder\n",
    "    decoded = layers.RepeatVector(data.shape[1])(encoded)\n",
    "    decoded = layers.LSTM(100, activation='relu', return_sequences=True)(decoded)\n",
    "    decoded = layers.TimeDistributed(layers.Dense(data.shape[2]))(decoded)\n",
    "\n",
    "    # tie it together\n",
    "    model = keras.Model(inputs, decoded)\n",
    "    encoder = keras.Model(inputs, encoded)\n",
    "\n",
    "    model.compile(optimizer='adam', loss='mae', metrics=[\"mse\"])\n",
    "    \n",
    "    # callbacks defining\n",
    "    early_stopping = EarlyStopping(patience=5, verbose=0)\n",
    "#     reduce_lr = ReduceLROnPlateau(factor=0.1, patience=5, min_lr=0.0001, verbose=0)\n",
    "    \n",
    "    # model fitting\n",
    "    history = model.fit(data, data,\n",
    "                        validation_split=VAL_SPLIT,\n",
    "                        epochs=EPOCHS,\n",
    "                        batch_size=BATCH_SIZE,\n",
    "                        verbose=0,\n",
    "                        shuffle=False,\n",
    "                        callbacks=[early_stopping]#, reduce_lr]\n",
    "                        )\n",
    "    return history, model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Training in the beginning of each dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Generated training sequences for use in the model.\n",
    "def create_sequences(values, time_steps=N_STEPS):\n",
    "    output = []\n",
    "    for i in range(len(values) - time_steps + 1):\n",
    "        output.append(values[i : (i + time_steps)])\n",
    "    return np.stack(output)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 7min 35s, sys: 1min 42s, total: 9min 18s\n",
      "Wall time: 4min 26s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "# hyperparameters selection\n",
    "N_STEPS = 10\n",
    "Q = 0.99 # quantile for upper control limit (UCL) selection\n",
    "\n",
    "# inference\n",
    "predicted_outlier, predicted_cp = [], []\n",
    "for df in list_of_df:\n",
    "    X_train = df[:400].drop(['anomaly','changepoint'], axis=1)\n",
    "    \n",
    "    # scaler init and fitting\n",
    "    StSc = StandardScaler()\n",
    "    StSc.fit(X_train)\n",
    "    \n",
    "    # convert into input/output\n",
    "    X = create_sequences(StSc.transform(X_train), N_STEPS)\n",
    "    \n",
    "    # model defining and fitting\n",
    "    history, model = arch(X)\n",
    "    \n",
    "    # results predicting\n",
    "    residuals = pd.Series(np.sum(np.mean(np.abs(X - model.predict(X)), axis=1), axis=1))\n",
    "    UCL = residuals.quantile(Q)\n",
    "    \n",
    "    # results predicting\n",
    "    X = create_sequences(StSc.transform(df.drop(['anomaly','changepoint'], axis=1)), N_STEPS)\n",
    "    cnn_residuals = pd.Series(np.sum(np.mean(np.abs(X - model.predict(X)), axis=1), axis=1))\n",
    "    \n",
    "    # data i is an anomaly if samples [(i - timesteps + 1) to (i)] are anomalies\n",
    "    anomalous_data = cnn_residuals > (3/2 * UCL)\n",
    "    anomalous_data_indices = []\n",
    "    for data_idx in range(N_STEPS - 1, len(X) - N_STEPS + 1):\n",
    "        if np.all(anomalous_data[data_idx - N_STEPS + 1 : data_idx]):\n",
    "            anomalous_data_indices.append(data_idx)\n",
    "    \n",
    "    prediction = pd.Series(data=0, index=df.index)\n",
    "    prediction.iloc[anomalous_data_indices] = 1\n",
    "    \n",
    "    # predicted outliers saving\n",
    "    predicted_outlier.append(prediction)\n",
    "    \n",
    "    # predicted CPs saving\n",
    "    prediction_cp = abs(prediction.diff())\n",
    "    prediction_cp[0] = prediction[0]\n",
    "    predicted_cp.append(prediction_cp)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsIAAADVCAYAAABdXpbTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAA11ElEQVR4nO3df3xcdZX/8ddJ0jaUQiml4EILrVBLW34UGqUILrUFrIsUFFZgxZVf8hUEFnThi19dUPbrqoCu1gJaFtpVQRZR1ooggrW6aPHbUEqBQqFAgZbftT8oJc2v8/1jJskkmczcZO7PzPv5eECTmTv3fnLzycyZM+eej7k7IiIiIiLVpibpAYiIiIiIJEGBsIiIiIhUJQXCIiIiIlKVFAiLiIiISFVSICwiIiIiVUmBsIiIiIhUpbqkDrzHHnv4+PHjkzq8iIiIiFSJRx555C13H9Pz9sQC4fHjx9PY2JjU4UVERESkSpjZi8VuV2mEiIiIiFSlsoGwmd1qZm+Y2RN93G9mNs/M1prZKjM7PPxhioiIiIiEK0hpxCJgPvCjPu7/KDAx/98RwE35f0VEMqO5tZ3vPriG/16xgS3vtuB0LT9fU1PDyJ2GcPK0ffinY9/H0LreOYTm1nbmL3mWxhc30bDfKC6aNbHodoNFqfPVk5kxpNYYVlfDjlanpbWt6NZmxrAhtRwwZgTnHv1ejp2yF7U1FtvPgMGQWqN+SC2G4bTT1NL3eAvHHeTn689jit1PP44Txpha29qpC/h76++xgj6ur22iOOd9qampYZdhtfzNrvW8urWJre+2lpzvlRxroD9v1OejcNvmNsDbGVrwOAvwHJlW5l7+V2Nm44F73P2gIvf9EFjq7j/Nf78GmOnur5baZ0NDg/esEW5paWH9+vU0NTUF/wmk3+rr6xk7dixDhgxJeigiqdDc2s70f72ft3e0l9121/o6Gr9yXLcn+ubWdt7/9QfY8m5r520jd6pj+ZePC/cFwR2atoS3vwFqbnNmXvc7tgU4X5V4//jdWfCP06m18IPhuH4GSb8mhtKMXg/DUuw5Mg3M7BF3b+h5exgXy+0DvFzw/fr8bSUD4WLWr1/PLrvswvjx47EInvgE3J2NGzeyfv16JkyYkPRwRFJh/pJnAwXBAFubWpm/5Fm+cPykbo8vDIIBtrzbe7uK3fxheOXR8PY3QEOBPxtQH/GBXgOujWbXsf0Mknru8Kzvw/HN1yU9lEGh2HNkmsUarpvZ+WbWaGaNb775Zq/7m5qaGD16tILgCJkZo0ePVtZdpEDji5v6tf0jPbbv6/E9t6vYKyvD3Z+IYAYTbUPSwxhUQn/ui1AYgfAGYFzB92Pzt/Xi7gvcvcHdG8aM6dXKDUBBcAx0jkW6a9hvVL+2n95j+74e33O7iu2+f7j7GyAnl0WL5b/B8DPov1T/B/Cc/01EM606hf7cF6EwSiMWAxeZ2R3kLpLbUq4+uFosXbqU66+/nnvuuYfFixezevVqrrzyyqLbbt68mdtvv50LL7wQgFdeeYVLLrmEu+66K84hi1Sli2ZN5OY/Pse7rV52213r67ho1sRej//PZet61Qj33K5iY6dDewtcuirc/fZTS2s7h33tft5piba+9sj3juYn5x0RyQVzLf2oC5fB6+9rl3LdkAV8prn4a7P0X7HnyDQrGwib2U+BmcAeZrYeuBpyVeXu/gPgXuDvgLXAduDsqAabFm1tbdTW1vbrMXPnzmXu3Ll93r9582ZuvPHGzkB47733VhAsEpOhdTX88MwG/nHRckYPr6OpR4C3o81pd+eCY/YvekX00LoaHv7SsUy+6jcAXDhzfy6N4spp99znuAkbWlfDby47hg9d+3t2HVZDW5lYsvvV6e00txZ/gJnR1NpG/ZBavv330yLtGjG0roZH/uUjTP/X+2lubaeupqZznLmuEdCOs6Ol7/EWjjvIz9efxxS7vz/HCWNMLW0e+PfW32MFfVxf24R1zoda7m90+BBj5z4+JO/oGvGeXYfx2tYduQ4jIfxs/XncQOZLmGPs3jXCcfduj9vR1o47fK6P58g0KxsIu/sZZe534POhjagf2tqdpWve4MlXtjJ1712ZOWnPip80161bx5w5c5g+fTorVqxg6tSp/OhHP2LKlCmcdtppPPDAA1xxxRXsvvvuXH311ezYsYP999+fhQsXMmLECH7zm99w6aWXMnz4cI4++ujO/S5atIjGxkbmz5/P66+/zuc+9zmef/55AG666SbmzZvHc889x7Rp0zjuuOP4/Oc/z8c+9jGeeOIJmpqauOCCC2hsbKSuro7vfOc7fPjDH2bRokUsXryY7du389xzz/Hxj3+ca6+9lra2Ns4991waGxsxM8455xwuu+yyis6LyGBXm3/ivuHMBma8d3S3+/75Z4/x57VvcfmcA/t8/JDarueeS2ZH1TrNgeQDYYAhtbmf78q/m8o/HLFvaPs9fcEy2tqdjxz0ntD22ZehdTXsPqKeaeN243unHxb58SSFHv0r/BIe+MIxMGp80qPJrMv+ayXL1/215HNkWiW2xHKl2tqdT9/yF1a+vJl3m9vYaWgt08btxo/PrfxjtDVr1nDLLbdw1FFHcc4553DjjTcCMHr0aFasWMFbb73FJz7xCR588EF23nlnvvWtb/Gd73yHK664gs9+9rMsWbKEAw44gNNOO63o/i+55BKOOeYY7r77btra2ti2bRvf/OY3eeKJJ1i5ciWQC8g73HDDDZgZjz/+OE8//TTHH388zzzzDAArV67k0UcfZdiwYUyaNImLL76YN954gw0bNvDEE7k1UDZv3lzR+RCpBh21gsWePQzK1qoW3u/lKywGJiUZYaCzj2rYwzGMIG09w+KelrcWkoiOCRzjnBuMjOyewtQGwl/71ZOsfmVrn/dv2t7M2je20Z4/8dub23j4+Y189Ht/ZNTwoUUfM2XvXbn6xKlljz1u3DiOOuooAM4880zmzZsH0BnYPvzww6xevbpzm+bmZo488kiefvppJkyYwMSJEzsfu2DBgl77X7JkCT/6UW59ktraWkaOHMmmTZv6HM9DDz3ExRdfDMCBBx7Ifvvt1xkIz549m5EjR+Z+vilTePHFF5k6dSrPP/88F198MSeccALHH3982Z9ZpNp1BXa9wyKz8k/yhfeXa7Y/cOnJCJd641AJs/JvOsLkuC4grmodv/uMRnFpkeE/oewUcfSwfUdbZxDcod1zt1eq55Nix/c777wzAO7Occcdx8qVK1m5ciWrV6/mlltuqfi4AzFs2LDOr2tra2ltbWXUqFE89thjzJw5kx/84Aecd955iYxNJEs6A7siT+i5VcZKv1AW3l8dGeGc0DPChjLCEh9lhEMR9yc5YUptRrhc5vZ3T73OxT99lO3NXYHv8KG1fO2kqcyevFdFx37ppZdYtmwZRx55JLfffjtHH300jz76aOf9M2bM4POf/zxr167lgAMO4J133mHDhg0ceOCBrFu3jueee47999+fn/70p0X3P3v2bG666SYuvfTSztKIXXbZhbfffrvo9h/60Ie47bbbmDVrFs888wwvvfQSkyZNYsWKFUW3f+uttxg6dCinnHIK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\n",
      "text/plain": [
       "<Figure size 864x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# true outlier indices selection\n",
    "true_outlier = [df.anomaly for df in list_of_df]\n",
    "\n",
    "predicted_outlier[0].plot(figsize=(12,3), label='predictions', marker='o', markersize=5)\n",
    "true_outlier[0].plot(marker='o', markersize=2)\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# true changepoint indices selection\n",
    "true_cp = [df.changepoint for df in list_of_df]\n",
    "\n",
    "predicted_cp[0].plot(figsize=(12,3), label='predictions', marker='o', markersize=5)\n",
    "true_cp[0].plot(marker='o', markersize=2)\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Metrics calculation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "False Alarm Rate 14.24 %\n",
      "Missing Alarm Rate 35.56 %\n",
      "F1 metric 0.68\n"
     ]
    }
   ],
   "source": [
    "# binary classification metrics calculation\n",
    "binary = evaluating_change_point(true_outlier, predicted_outlier, metric='binary', numenta_time='30 sec')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average delay 0 days 00:00:10.866666666\n",
      "A number of missed CPs = 100\n"
     ]
    }
   ],
   "source": [
    "# average detection delay metric calculation\n",
    "add = evaluating_change_point(true_cp, predicted_cp, metric='average_delay', numenta_time='30 sec')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Intersection of the windows of too wide widths for dataset 16\n",
      "Intersection of the windows of too wide widths for dataset 16\n",
      "Intersection of the windows of too wide widths for dataset 16\n",
      "Intersection of the windows of too wide widths for dataset 18\n",
      "Intersection of the windows of too wide widths for dataset 18\n",
      "Intersection of the windows of too wide widths for dataset 18\n",
      "Intersection of the windows of too wide widths for dataset 19\n",
      "Intersection of the windows of too wide widths for dataset 19\n",
      "Intersection of the windows of too wide widths for dataset 19\n",
      "Intersection of the windows of too wide widths for dataset 23\n",
      "Intersection of the windows of too wide widths for dataset 23\n",
      "Intersection of the windows of too wide widths for dataset 23\n",
      "Intersection of the windows of too wide widths for dataset 23\n",
      "Intersection of the windows of too wide widths for dataset 23\n",
      "Intersection of the windows of too wide widths for dataset 23\n",
      "Intersection of the windows of too wide widths for dataset 27\n",
      "Intersection of the windows of too wide widths for dataset 27\n",
      "Intersection of the windows of too wide widths for dataset 27\n",
      "Intersection of the windows of too wide widths for dataset 32\n",
      "Intersection of the windows of too wide widths for dataset 32\n",
      "Intersection of the windows of too wide widths for dataset 32\n",
      "Standart  -  22.12\n",
      "LowFP  -  20.01\n",
      "LowFN  -  23.21\n"
     ]
    }
   ],
   "source": [
    "# nab metric calculation\n",
    "nab = evaluating_change_point(true_cp, predicted_cp, metric='nab', numenta_time='30 sec')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## [Additional] localization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
